package com.jdaoyun.util;


import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;



/**
 * 当配置文件中的 custom.startup-task-enabled 设置为 true 时，Spring 会加载并管理 StartupTaskRunner。
 * 当设置为 false 时，Spring 不会加载该类，StartupTaskRunner 的初始化逻辑也不会执行
 */
public class StartupTaskCondition implements Condition {

    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
        // 从配置文件中读取 custom.startup-task-enabled 的值
        String enabled = context.getEnvironment().getProperty("custom.startup-task-enabled");
        // 如果值为 "true"，则返回 true，否则返回 false
        return "true".equalsIgnoreCase(enabled);
    }
}